Projections for Polymorphic First-Order Strictness Analysis
نویسندگان
چکیده
We apply the categorical properties of polymorphic functions to compile-time analysis, speciically projection-based strictness analysis. First we interpret parameterised types as functors in a suitable category, and show that they preserve monics and epics. Then we deene \strong" and \weak" polymorphism, the latter admitting certain projections that are not polymorphic in the usual sense. We prove that, under the right conditions, a weakly polymorphic function is characterised by a single instance. It follows that the strictness analysis of one simple instance of a polymorphic function yields results that apply to all. We show how this theory may be applied. In comparison to earlier polymorphic strictness analysis methods, ours can apply polymorphic information to a particular instance very simply. The categorical approach simpliies our proofs, enabling them to be carried out at a higher level, and making them independent of the precise form of the programming language to be analysed. The major limitation of our results is that they apply only to rst-order functions.
منابع مشابه
Strictness Logic and Polymorphic Invariance
We describe a logic for reasoning about higher-order strictness properties of typed lambda terms. The logic arises from axiomatising the inclusion order on certain closed subsets of domains. The axiomatisation of the lattice of strictness properties is shown to be sound and complete, and we then give a program logic for assigning properties to terms. This places work on strictness analysis via ...
متن کاملCompiling Laziness Using Projection Types
Strictness analysis is accepted as an important tool for the eecient implementation of lazy functional languages. However, the analyses are usually rst-order and the optimisations that follow may be ad hoc. Using projections to represent static properties of programs is appealing because they naturally describe component-wise demand on data structures and can handle latent demands such as head-...
متن کاملInference of polymorphic and conditional strictness propertiesThomas
We deene an inference system for modular strictness analysis of functional programs by extending a conjunctive strictness logic with polymorphic and conditional properties. This extended set of properties is used to deene a syntax-directed, polymorphic strictness analysis based on polymorphic recur-sion whose soundness is established via a translation from the polymorphic system into the conjun...
متن کاملHigher Order Demand Propagation
In this report a new backward strictness analysis for functional languages is presented. It is called higher order demand propagation and is applicable to a realistic non-strict functional language, which has a polymorphic type system and supports higher order functions and user definable algebraic data types. This report defines a semantics for higher order demand propagation and relates it to...
متن کاملThe Role of Corporate Governance Mechanisms and the Auditor's Specialty in Debt Contract Strictness
Objective: Violation of contractual conditions leads to the transmission of bad news due to poor performance and the expertise of auditors and regulatory mechanisms can be a factor in adjusting it. In this article, the purpose is to examine the role of strictness in the debt contract and the auditor's expertise. Research Method: In order to study the subject based on the logistic regression mo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Mathematical Structures in Computer Science
دوره 2 شماره
صفحات -
تاریخ انتشار 1992